﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Survivor.src
{
    class State
    {
        bool _loaded;
        bool _paused;
        bool _transparent;
        StateManager _manager;

        string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        public bool isLoaded
        {
            get { return _loaded; }
            set { _loaded = value; }
        }
        public bool isPaused
        {
            get { return _paused; }
            set { _paused = value; }
        }
        public bool isTransparent
        {
            get { return _transparent; }
            set { _transparent = value; }
        }
        internal StateManager Manager // internal?
        {
            get { return _manager; }
            set { _manager = value; }
        }

        public State(string name, StateManager m)
        {
            _loaded = false;
            _paused = true;
            _transparent = false;
            _name = name;
            _manager = m;
        }

        public virtual void Init()
        {

        }

        public virtual void Draw(double dt)
        {

        }

        public virtual void Update(double dt)
        {

        }

        public virtual void LoadContent()   //called after specific state loading//
        {
            isLoaded = true;
            isPaused = false;
            Console.WriteLine("Loaded " + Name);
        }
    }
}
